package com.ruyuan.eshop.construction.api;

import com.ruyuan.eshop.common.core.JsonResult;
import com.ruyuan.eshop.common.core.PageResult;
import com.ruyuan.eshop.construction.domain.dto.BuyerInfoDTO;
import com.ruyuan.eshop.construction.domain.dto.BuyerListDTO;
import com.ruyuan.eshop.construction.domain.dto.BuyerResultDTO;
import com.ruyuan.eshop.construction.domain.request.BuyerRequest;
import com.ruyuan.eshop.construction.domain.request.QueryBuyerListRequest;
import com.ruyuan.eshop.construction.domain.request.QueryBuyerPageRequest;

/**
 * 买手服务接口
 *
 * @author zhonghuashishan
 */
public interface BuyerApi {

    /**
     * 新增/编辑买手接口
     *
     * @param request
     * @return com.ruyuan.eshop.common.core.JsonResult<com.ruyuan.eshop.construction.domain.dto.BuyerResultDTO>
     * @author zhonghuashishan
     */
    JsonResult<BuyerResultDTO> buyer(BuyerRequest request);

    /**
     * 查询买手信息
     *
     * @param request
     * @return com.ruyuan.eshop.common.core.JsonResult<com.ruyuan.eshop.construction.domain.dto.BuyerListDTO>
     * @author zhonghuashishan
     */
    JsonResult<BuyerListDTO> getBuyerInfo(QueryBuyerListRequest request);

    /**
     * 分页查询买手信息
     *
     * @param request
     * @return com.ruyuan.eshop.common.core.JsonResult<com.ruyuan.eshop.common.core.PageResult<com.ruyuan.eshop.construction.domain.dto.BuyerInfoDTO>>
     * @author zhonghuashishan
     */
    JsonResult<PageResult<BuyerInfoDTO>> getBuyerInfoPage(QueryBuyerPageRequest request);

}
